package w83b.w83bOperacionesPaso.w83bComun;


import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.json.JSONObject;

import w83b.w83bBeans.W83bUsuarioXLNetsBean;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;

import es.ejie.frmk.infraestructura.internacionalizacion.Q70GestorMensajesi18n;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

// TODO: Auto-generated Javadoc
/**
 * The Class W83bAccesoAplicacionOPAction.java.
 *
 * @author Deusto Sistemas
 */
public class W83bDarAltaRegistroNuevoNumeroEntradaDelegacionOutAction extends Q70ActionPasoOP{

	
	/**
	 * processOP
	 * @param contexto a
	 * @param mapping a
	 * @param errores a
	 * @param form a
	 * @param request a
	 * @param response a
	 * @throws Exception e
	 */	
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores, ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

	}

	/**
	 * processForward
	 * @param contexto a
	 * @param mapping a
	 * @param errors a
	 * @param form a
	 * @param request a
	 * @param response a
	 * @throws Exception e
	 * @return ActionForward
	 */	
	protected ActionForward processForward(Q70ContextoEJIE contexto, ActionErrors errors, ActionMapping mapping, 
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		W83bUsuarioXLNetsBean usuario = (W83bUsuarioXLNetsBean)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_USUARIO);
		
		JSONObject jsonObject = new JSONObject();
		
		String error = "false";
		
		if(StringUtils.isEmpty(usuario.getNumRegistro())){
			error = "true";
		}else if("-1".equals(usuario.getNumRegistro())){
			error = "numBean";
			String textoError = "";
			if("actas".equals(usuario.getTipo())){
				textoError = Q70GestorMensajesi18n.getSingleton().getMessage("w83bcomun", "error.mensaje.actaExistente", (String)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA));
			}else if("preavisos".equals(usuario.getTipo())){
				textoError = Q70GestorMensajesi18n.getSingleton().getMessage("w83bcomun", "error.mensaje.codPreavisoyaExiste", (String)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA));				
			}else if("impugnaciones".equals(usuario.getTipo())){
				textoError = Q70GestorMensajesi18n.getSingleton().getMessage("w83brecursosErrores", "error.mensaje.codImpugnacionyaExiste", (String)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA));				
			}
			jsonObject.put("textoError", textoError);
		}
		
		jsonObject.put("error", error);
		jsonObject.put("numRegistro", usuario.getNumRegistro());
		jsonObject.put("fechaRegistro", usuario.getFechaRegistro());
		jsonObject.put("numBean", usuario.getObservaciones());
		
		response.setContentType("text/javascript;charset=iso-8859-1");
		response.setHeader("Pragma", "cache");
		response.setHeader("Expires", "0");
		response.setHeader("Cache-Control", "private");
		response.setStatus(HttpServletResponse.SC_OK);
		PrintWriter out = response.getWriter();
		out.print(jsonObject.toString());
		out.flush();
		
		return null;
	}

}
